#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QtGui/QMainWindow>

namespace Ui
{
    class MainWindow;
}

class OMDocument;
class OMOperationManager;
class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();

public:
    void setDocument(OMDocument* document);
    void setOperationManager(OMOperationManager* operationManager);

    QMenu* operationsMenu(void);

    QToolBar* operationsToolBar(void);

private:
    void createActions(void);
    void createMenus(void);
    void createToolBars(void);

private slots:
    void loadFile(void);

private:
    Ui::MainWindow *ui;

    //
    OMDocument* mDocument;
    OMOperationManager* mOperationManager;

    // Actions
    QAction* mLoadFileAction;
    QAction* mExitAction;

    // Menus
    QMenu* mFileMenu;
    QMenu* mOperationsMenu;
    QMenu* mHelpMenu;

    // Toolbars
    QToolBar* mFileToolbar;
    QToolBar* mOperationsToolbar;
};

#endif // MAINWINDOW_H
